'use strict';

module.exports = () => {
  return async function responseFormatter(ctx, next) {
    await next();

    // 如果有响应体（包括 null）
    if (ctx.body !== undefined) {
      const status = ctx.status;  // 保存原始状态码
      ctx.status = 200;  // 设置 HTTP 状态码为 200
      ctx.body = {
        code: status,  // 在返回体中使用原始状态码
        message: ctx.body === null ? 'success' : (ctx.message || 'success'),
        data: ctx.body,
      };
    }
  };
};